//package com.gobang.service.impl;
//
//import com.gobang.common.util.MatchUtils;
//import com.gobang.service.GameRoomService;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.context.annotation.Profile;
//import org.springframework.stereotype.Service;
//
//import java.util.Random;
//
///**
// * 游戏房间服务Mock实现（临时使用，游戏核心模块完成后将被替换）
// * 用于匹配系统的测试和开发
// *
// * @author gobang-team
// * @since 1.0.0
// */
//@Service
//@Profile({"dev", "test"})
//@Slf4j
//public class MockGameRoomServiceImpl implements GameRoomService {
//
//    private final Random random = new Random();
//
//    @Override
//    public RoomCreationResult createRoom(Long blackPlayerId, Long whitePlayerId) {
//        log.info("Mock创建游戏房间：黑方{}，白方{}", blackPlayerId, whitePlayerId);
//
//        try {
//            // 模拟房间创建过程
//            simulateRoomCreation();
//
//            // 模拟房间创建：95%概率成功，5%概率失败
//            boolean createSuccess = random.nextInt(100) < 95;
//
//            if (createSuccess) {
//                // 模拟房间创建成功
//                String roomId = MatchUtils.generateRoomId();
//
//                log.info("Mock房间创建成功：{}，黑方：{}，白方：{}", roomId, blackPlayerId, whitePlayerId);
//                return RoomCreationResult.success(roomId);
//            } else {
//                // 模拟房间创建失败
//                String errorMessage = "Mock房间创建失败：系统资源不足";
//                log.warn("Mock房间创建失败：黑方{}，白方{}，原因：{}", blackPlayerId, whitePlayerId, errorMessage);
//                return RoomCreationResult.failure(errorMessage);
//            }
//
//        } catch (Exception e) {
//            log.error("Mock房间创建异常：黑方{}，白方{}", blackPlayerId, whitePlayerId, e);
//            return RoomCreationResult.failure("Mock房间创建异常：" + e.getMessage());
//        }
//    }
//
//    /**
//     * 模拟房间创建过程（加入延迟）
//     */
//    private void simulateRoomCreation() {
//        try {
//            // 模拟房间创建耗时（100-500毫秒）
//            int delay = 100 + random.nextInt(400);
//            Thread.sleep(delay);
//        } catch (InterruptedException e) {
//            Thread.currentThread().interrupt();
//            log.warn("Mock房间创建过程被中断", e);
//        }
//    }
//
//    /**
//     * 获取Mock服务状态
//     */
//    public MockServiceStatus getServiceStatus() {
//        return new MockServiceStatus(
//                true, // 服务运行状态
//                "Mock游戏房间服务正常运行",
//                0.95, // 成功率
//                System.currentTimeMillis()
//        );
//    }
//
//    /**
//     * Mock服务状态
//     */
//    public static class MockServiceStatus {
//        private final boolean running;
//        private final String status;
//        private final double successRate;
//        private final long timestamp;
//
//        public MockServiceStatus(boolean running, String status, double successRate, long timestamp) {
//            this.running = running;
//            this.status = status;
//            this.successRate = successRate;
//            this.timestamp = timestamp;
//        }
//
//        public boolean isRunning() { return running; }
//        public String getStatus() { return status; }
//        public double getSuccessRate() { return successRate; }
//        public long getTimestamp() { return timestamp; }
//
//        @Override
//        public String toString() {
//            return String.format("MockServiceStatus{running=%s, status='%s', successRate=%.2f, timestamp=%d}",
//                    running, status, successRate, timestamp);
//        }
//    }
//}